Storage providers maintain large amounts of data storage for a multitude of users. These storage providers typically utilize authentication protocols in order to ensure that only authorized users can access the storage and that the authorized users only access portions of the storage that they are permitted to access. In order to access storage, a user may send a storage request to the storage provider signed with a signature created using a secret shared between the storage provider and that user. In order to authenticate a user for any given access attempt, the service provider verifies the identity of the user by making sure that the request is signed with the proper shared secret. The storage provider then allows access based upon an access policy for that user.
In some systems, a storage provider may rent storage space to tenant storage providers. These tenant storage providers are each responsible for initially registering each user with the storage provider. Then, a user is able to access the storage as described above.